<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<h1>Performance</h1>

Charts below present system memory and time needed to sync BTC block chain up to the given block number.<br>
<br>
<i>Note:<br>
Gocoin uses (configurable) <code>LastTrustedBlock</code> to avoid verifying scripts from all blocks known as valid.<br>
Referenced Bitcoin Core uses an identical mechanism (configurable with <code>assumevalid</code> parameter).<br>
Both implementations come with a recent trusted block built into their code (no need to configure them explicitly).<br></i>

<h2>Gocoin 1.10.1</b>, built with Go 1.18.3</h2>

<h3>Dedicated server with 3.4GHz Intel i7-6700 CPU and HDD</h3>

With comparision to Bitcoin Core 23.0:<br>
<img src="de_gocoin_vs_core.png" width="50%"><br>
<i>Both the clients were using their default configuration.</i><br>

<h3>Dedicated server with 3.6GHz Intel i7-7700 CPU and SSD</h3>

<h4>Default config:</h4>
<img src="d3_quick.png" width="50%"><br>
Time needed to re-build UTXO database from blocks stored on the disk: <b>1.2 hours</b>
<i>(up to block #700000)</i><br>

<h4>Tweaked config:</h4>
<img src="d3_turbo.png" width="50%"><br>
Changed config values:<br>
<ul>
 <li><code>Net.ListenTCP: false</code><br>
 <li><code>Net.MaxOutCons: 20</code><br>
 <li><code>Memory.GCPercTrshold: 300</code><br>
 <li><code>Memory.UseGoHeap: true</code><br>
 <li><code>Memory.CacheOnDisk: false</code><br>
 <li><code>AllBalances.AutoLoad: false</code><br>
 <li><code>Stat.NoCounters: true</code><br>
</ul>

<h3>Dedicated server with 3.4GHz Intel i7-6700 CPU and SSD</h3>
<h4>Default config:</h4>
<img src="dd_quick.png" width="50%"><br>
Time needed to re-build UTXO database from blocks stored on the disk: <b>1.3 hours</b>
<i>(up to block #700000)</i><br>

<h3>Dedicated server with 3.4GHz Intel i7-4770 CPU and HDD</h3>
<h4>Default config:</h4>
<img src="fin_quick.png" width="50%"><br>
Time needed to re-build UTXO database from blocks stored on the disk: <b>1.4 hours</b>
<i>(up to block #700000)</i><br>

<h4>Tweaked config:</h4>
<img src="fin_turbo.png" width="50%"><br>
Time needed to re-build UTXO database from blocks stored on the disk: <b>1.3 hours</b>
<i>(up to block #700000)</i><br>
Changed config values:<br>
<ul>
 <li><code>Net.ListenTCP: false</code><br>
 <li><code>Net.MaxOutCons: 20</code><br>
 <li><code>Memory.GCPercTrshold: 100</code><br>
 <li><code>Memory.UseGoHeap: true</code><br>
 <li><code>Memory.CacheOnDisk: false</code><br>
 <li><code>AllBalances.AutoLoad: false</code><br>
 <li><code>Stat.NoCounters: true</code><br>
</ul>

<h2>Gocoin 1.10.0</b>, built with Go 1.17.3</h2>

<h3>Dedicated server with 3.5GHz Xeon E3-1270 v3 CPU and SSD</h3>
<h4>Default config:</h4>
<img src="dw32_quick.png" width="50%"><br>
Time needed to re-build UTXO database from blocks stored on the disk: <b>1.6 hours</b>
<i>(up to block #700000)</i><br>

<h3>Dedicated server with two 1.7GHz Xeon E5-2650L v2 CPUs and HDD</h3>
<h4>Default config:</h4>
<img src="rep_quick.png" width="50%"><br>
Time needed to re-build UTXO database from blocks stored on the disk: <b>2.6 hours</b>
<i>(up to block #700000)</i><br>

</body>
</html>